Git-deliver

Posté par  . Édité par claudex, Benoît Sibaud, Nils Ratusznik, Bruno Michel et palm123. Modéré par Nils Ratusznik. Licence CC By‑SA.
Étiquettes :
49
21
août
2013
Gestion de versions

Git-deliver est un système simple et sécurisé sous GPLv3 pour :

  • déployer un logiciel sur un ou plusieurs serveurs ;
  • vérifier quelle version est sur un serveur, qui l'a livré et quand, et les éventuelles modifications depuis la livraison ;
  • partager des configurations de livraison.

Git-deliver s'appuie sur les atouts de :

  • Git pour la gestion des versions, le transfert de données et le contrôle d'intégrité ;
  • SSH pour l'authentification et l'exécution à distance de commandes ;
  • Bash pour l'exécution de scripts de livraison.

Un prototype fonctionnel se trouve sur Github, ainsi que plus d'informations et de documentation.

Contrairement à un simple Git push/checkout, Git-deliver :

  • rend la livraison « atomique » ;
  • structure la livraison en étapes et gère les erreurs tout en maintenant la disponibilité du logiciel ;
  • archive les livraisons et automatise les retours en arrière (« rollback ») ;
  • garde un journal des opérations ;
  • fournit une façon simple de savoir quelle version est livrée sur quel serveur, de valider l'intégrité des livraisons, et de savoir quand et par qui une version a été livrée ;
  • prévoit d'intégrer des recettes de livraison préfabriquées pour les environnements les plus courants.

Sortie de Gnu Bazaar 2.6.0

Posté par  . Édité par Xavier Teyssier. Modéré par patrick_g. Licence CC By‑SA.
Étiquettes : aucune
18
9
août
2013
Gestion de versions

Gnu bazaar est un logiciel de gestion de versions libre, appartenant au projet Gnu et maintenu par la société Canonical (l'éditeur de la distribution Ubuntu). La version 2.6.0 de ce logiciel, distribué sous licence Gnu GPL v2, a été publiée le 4 août dernier. Parmi les nouveautés, on notera notamment :

  • l'option --store de la commande bzr garde dorénavant les modifications n'ayant pas fait l'objet d'un commit dans la branche, et les restaure lors d'un retour en arrière dans la branche ;
  • la nouvelle option –context de la commande bzr diff permet de configurer le nombre de lignes à afficher autour de chaque changement ;
  • les plugins grep et ping sont dorénavant fournis avec bzr.

Sprint de programmation Darcs du 15 au 17 février 2013 à l'IRILL (Paris XIII)

Posté par  . Édité par Benoît Sibaud et NeoX. Modéré par rootix. Licence CC By‑SA.
Étiquettes :
13
12
fév.
2013
Gestion de versions

Le projet Darcs organise son 8ème sprint de programmation du vendredi 15 au dimanche 17 février 2013 à l'IRILL (Initiative de Recherche et Innovation sur le Logiciel Libre), au 23 avenue d'Italie à Paris XIII (métro place d'Italie).

Darcs est un logiciel de gestion de versions décentralisé capable de réordonner automatiquement les patchs présents dans un dépôt, ce qui permet des créations et des fusions de branches plus simples qu'avec ses confrères Mercurial, Git et Bazaar.
Sa dernière version stable est la 2.8.4, sortie le 7 février dernier.

Le projet tourne principalement grâce au temps libre de ses contributeurs, mais également grâce à des projets Google Summer of Code, ainsi que des dons qui couvrent notamment les frais d'organisation des sprints. Le sprint est ouvert à tous, il suffit de s'annoncer sur le wiki pour pouvoir venir.

Ce sprint servira à consolider la prochaine version 2.10.

Nouveautés autour de Git

Posté par  (site web personnel, Mastodon) . Édité par Davy Defaud, rootix, Maxime, patrick_g, baud123, claudex et MrLapinot. Modéré par baud123. Licence CC By‑SA.
Étiquettes :
46
30
oct.
2012
Gestion de versions

La semaine passée, à un jour d’intervalle, deux petites nouvelles concernant l’actuel chouchou des gestionnaires de version, à savoir Git, sont passées un peu inaperçues. Ce dernier vient de sortir, le 21 octobre, en version 1.8.0, et Gitlab, application Web d’autogestion de projets sous Git, passe, lui, en version 3.0 depuis le 22 octobre.

Les nouveautés de ces deux logiciels sont un peu plus détaillées dans la seconde partie de la dépêche.

Sortie de darcs 2.8

Posté par  . Édité par geh, Nÿco, Nils Ratusznik, claudex et tuiu pol. Modéré par tuiu pol. Licence CC By‑SA.
Étiquettes : aucune
27
27
avr.
2012
Gestion de versions

La dernière version de darcs, système de gestion de version intelligent et simple d'utilisation, est disponible depuis le 23 avril dernier. Il s'agit de la tant attendue version 2.8. Par rapport à git ou mercurial, darcs est plus simple d'utilisation, mais sur de gros dépôts, il peut souffrir de problèmes de performances. C'est grâce à sa théorie des patches, une vision différente des concepts de la gestion de version, qu'il peut proposer un mode de travail plus libre, et une interface plus simple.

Migration de PHP vers Git, Gitlab, Baregit

Posté par  (site web personnel) . Édité par Benoît Sibaud, NeoX et Nils Ratusznik. Modéré par claudex. Licence CC By‑SA.
Étiquettes :
34
20
mar.
2012
Gestion de versions

Ainsi qu'il a été annoncé dans la dépêche de sortie de la version 5.4 PHP rejoint le nombre toujours grandissant de projets utilisant Git.

En effet, la nouvelle est tombée, la migration depuis SubVersion/SVN est désormais complète.

Comme beaucoup de projets désormais, le dépôt mis en avant est sur le non-libre github, bien que le dépôt de référence reste sur http://git.php.net

You can clone or fork the source from our GitHub mirror, and we also now support pull requests made via GitHub. The source is also available via git.php.net

Tout comme l'utilisation de github par Linus pour le noyau, il est intéressant de se demander pourquoi cet usage assez massif de services non libres de la part d'équipes de développement pourtant au fait des licences et de leurs conséquences. Une raison serait évidemment plutôt pragmatique (il suffit de cliquer sur les deux liens de dépôt pour comprendre rapidement) et montre que github a su comprendre et pleinement maîtriser les concepts liés au développement utilisant un outil de source décentralisé offrant de nombreuses fonctionnalités, notamment wiki, gestion des demandes, pull request.

Toutefois, des projets tels que Gitorious ou le très prometteur Gitlab existent.

À noter également le lancement de Baregit pour ceux qui souhaitent un hébergement Git de qualité, rapide et surtout sur territoire français et donc non soumis aux lois américaines sur les logiciels.

Pour en revenir à PHP, l'accès au dépôt Git est décrit et une FAQ est également disponible. Notez que contrairement à l'annonce, la FAQ mentionne git.php.net comme dépôt principal. Pour les nouveaux arrivant sur les Distributed Concurrent Versions System (DCVS, Gestion de version décentralisée) notez qu'une page présentant le workflow utilisé est disponible.

Il ne reste plus qu'à espérer que PHP va continuer d'améliorer sa situation notamment concernant les tests unitaires et le processus de release et que Git sera un atout pour cette lourde tâche.

Sortie d'Anvil

Posté par  . Édité par Nÿco, baud123, Manuel Menal, NeoX et claudex. Modéré par Manuel Menal. Licence CC By‑SA.
Étiquettes :
16
18
fév.
2012
Gestion de versions

J'ai le plaisir de vous annoncer que la toute première version d'Anvil (0.01) est désormais disponible. Anvil (enclume en Anglais) est un logiciel libre de forge s'appuyant sur le gestionnaire de version décentralisé Bazaar. Son but est de proposer un environnement collaboratif simple et une interface attrayante à Bazaar.

Anvil est écrit en Python avec le framework libre web.py et la base de données MySQL. Anvil est disponible sous GPLv3.

Mercurial 2.1 : Les phases

Posté par  . Édité par claudex, B16F4RV4RD1N, Benoît Sibaud, NeoX, baud123 et Bruno Michel. Modéré par NeoX. Licence CC By‑SA.
Étiquettes :
39
18
fév.
2012
Gestion de versions

Mercurial, un puissant logiciel de gestion de versions écrit en Python, sort en version 2.1 après 3 mois de développement.
Pour rappel, Mercurial est un logiciel de gestion de version décentralisé, à savoir qu'il permet de travailler en équipe sans avoir besoin d'un serveur centralisé. Tous les développeurs pouvant se synchroniser entre eux, via deux méthodes :

  • pull : réception des modifications d'un dépôt distant.
  • push : envoi des modifications vers un dépôt distant.

Cette souplesse permet de hiérarchiser le développement d'un projet de mille et une façons. Cette souplesse possède un revers, quand l'on doit se synchroniser avec un dépôt distant on a souvent des conflits. Pour les résoudre, les développeurs font appel à deux méthodes :

  • merge : fusion des modifications de deux branches en une seule, les conflits sont résolus par divers outils manuels ou automatiques.
  • rebase, mq, histedit : modification de l'historique des modifications afin de le linéariser ou de le simplifier.

Dans le second cas, modifier son historique peut s'avérer bien plus désastreux que le problème initial ou l'on avait qu'un simple conflit. Git, le principal concurrent de Mercurial qui possède des fonctionnalités et des performances sensiblement identiques, est particulièrement sensible à des erreurs de rebase, car cette fonctionnalité est activé par défaut.

Pour éviter les erreurs de modifications d'historiques, Mercurial 2.1 introduit une nouvelle fonctionnalité : les phases.

Fossil, une forge pour DVCS

Posté par  (site web personnel) . Édité par NeoX, baud123, tuiu pol, Nÿco et patrick_g. Modéré par NeoX.
Étiquettes :
51
17
fév.
2012
Gestion de versions

Fossil est le système de fichiers de Plan9. Ce n'est pas le sujet de cete dépêche.

Fossil c'est aussi un outil de gestion de version décentralisé, DCVS en court. Il est toujours un peu osé, par les temps qui courent, de parler d'un autre DCVS que le très apprécié Git, mais Fossil c'est aussi un peu plus que ça ; un plus qui m'a beaucoup séduit.

Fossil c'est aussi un wiki, un outil de gestion de tickets et une interface Web (et son serveur) dans un seul exécutable. Sans entrer dans les détails, il prend en charge les mêmes fonctionnalités que la plus grande partie des DCVS. Il se veut robuste et fiable, simple, un protocole réseau simple (HTTP) rendu suffisamment efficace pour fonctionner sur une ligne téléphonique 56k et facile d'utilisation (pas de configuration, commande simple). Ça c'est la partie "marketing".

Si la description sonne un peu comme celle de SQLite, ce n'est pas un hasard : Fossil est développé par les mêmes personnes, utilise SQLite pour le stockage et est utilisé comme gestionnaire de versions pour ce projet (et d'autres). Fossil n'est donc pas juste un projet sombre dans un coin du Net.

NdM : merci à Etienne Bagnoud pour son journal.

Hébergez vos projets avec Gitlab

Posté par  (site web personnel) . Édité par Malicia. Modéré par claudex. Licence CC By‑SA.
Étiquettes :
33
23
déc.
2011
Gestion de versions

Gitlab est une application de gestion de dépôts git sous licence MIT. Elle permet d'héberger sur votre propre serveur des dépôts git avec l'interface web offrant tout le nécessaire pour vos projets : navigation dans le code source, suivi des demandes de bugs et d'évolutions (« issues »), wiki, gestion des droits d'accès par équipe, commentaires, notifications, etc.

D'un point de vue technique, c'est une application Ruby on Rails avec les dépendances suivantes : Ruby 1.9, sqlite3, git, gitolite (pour la gestion des droits d'accès aux dépôts git) et pygments (pour la coloration syntaxique du code).

L'équipe développant Gitlab travaille sur le rythme d'une version par mois et la version 2.0 vient juste de sortir. Celle-ci apporte des changements importants : les très attendues « merge requests », un tableau de bord revu, une gestion des permissions plus fines, notamment grâce à la prise en charge de gitolite, des améliorations graphiques, des fils Atom pour les commits et issues, etc.

Un entretien avec FusionForge

Posté par  (site web personnel) . Modéré par baud123. Licence CC By‑SA.
27
5
nov.
2011
Gestion de versions

Qui ne connaît pas FusionForge, la célèbre forge logicielle ? Mais, qui connaît bien FusionForge et ses auteurs ?

La seconde partie de la dépêches vous propose le compte rendu d’un entretien avec trois de ses développeurs francophones.

Subversion 1.7

Posté par  . Modéré par baud123. Licence CC By‑SA.
Étiquettes :
40
12
oct.
2011
Gestion de versions

Apache Subversion 1.7 est sorti le 11 octobre. Attendue de longue date, cette version majeure apporte de nombreux changements dans lesquels on ressent l’influence de la popularité croissante des gestionnaires de versions décentralisés.

Cette version 1.7 est compatible avec les versions précédentes, côtés client et serveur, même si les nouvelles fonctionnalités (détaillées dans la seconde partie de la dépêche) ne seront pas toutes disponibles.

Veracity, un nouveau gestionnaire de versions décentralisé

Posté par  (site web personnel) . Modéré par Lucas Bonnet. Licence CC By‑SA.
Étiquettes :
32
17
juil.
2011
Gestion de versions

Veracity est un nouveau gestionnaire de versions décentralisé (DVCS), sous licence Apache. Il est développé en C par la société SourceGear, avec la possibilité d'embarquer des greffons en javascript.

Comparé à git ou mercurial, il essaye d'intégrer une expérience de développement plus large :

Il est possible de l'installer sous GNU/Linux, Mac et Windows. Des paquets pour Ubuntu et un guide sont également disponibles pour vous aider à démarrer.

Gitbuster II

Posté par  . Modéré par baud123. Licence CC By‑SA.
45
24
juin
2011
Gestion de versions

« If there’s something strange
In your history
Who you gonna call?
GitBuster!
 »

Qui ne s’est jamais retrouvé au milieu d’un conflit de merge cataclysmique, à ne plus savoir distinguer ciel et terre ? À moins d’être un utilisateur expérimenté, ce genre de situation a de quoi rebuter et faire passer à côté de toute la richesse de Git.

image gitbuster Gitbuster, développé par Julien Miotte est un frontal graphique à des outils comme « git rebase », « git cherry-pick » et « git filter-branch ». Le projet est parti à l’origine d’un besoin très personnel de l’auteur de faciliter l’utilisation de « git filter-branch », un outil très performant de réécriture des informations de commit. Le développement, guidé par les demandes de fonctionnalités, notamment de chefs de projet, s’est orienté vers d’autres fonctionnalités de Git, comme le rebase et le cherry-pick.

Gitbuster offre les fonctionnalités suivantes :

  • cherry-pick par glisser‐déposer d’une branche sur une autre ;
  • résolution interactive des conflits de merge ;
  • création d’une branche à partir d’un commit (git checkout 1234567 -b new_branch) ;
  • modification des métadonnées de n’importe quel commit de l’historique ;
  • cherry-pick à partir d’un dépôt distant (qu’il soit sur le Web ou dans un autre répertoire) ;
  • modification automatique des dates de commit d’une plage horaire vers une autre.

Rififi autour de Subversion

Posté par  . Modéré par patrick_g.
Étiquettes :
21
2
fév.
2011
Gestion de versions
Le torchon brûle entre les principaux acteurs du projet Subversion : Wandisco d'un côté, Collabnet et la fondation Apache de l'autre !

« Peu de temps avant que nous ne partions tous en vacances de Noël, l'une des entreprises sponsorisant des développeurs dans la communauté Subversion, WANdisco, a envoyé un grand "fu#k you" au reste de la communauté par la voix de son CEO, Dave Richards », écrit Mark Phippard, l'un des principaux contributeurs sur son blog.

Subversion 1.3.0 est disponible

Posté par  . Modéré par Mouns.
Étiquettes :
0
4
jan.
2006
Gestion de versions
Juste à temps pour la nouvelle année et un peu plus de six mois après la 1.2.0, le projet Subversion vous propose de découvrir la nouvelle version du célèbre système de contrôle de code source.

Subversion est un système de contrôle de révision, développé dans le but de remplacer CVS comme norme du contrôle de révision dans le monde du libre. La version 1.0 est sortie au terme de 5 ans de conception et développement sponsorisé par l'entreprise Collabnet, et regroupe maintenant une communauté très active. Un grand nombre de projets libres importants ont depuis migré vers Subversion (on notera par exemple les projets KDE et Gcc, ainsi que l'Apache Software Foundation).

Les deux améliorations majeures sont l'extension du contrôle d'accès par ACL aux deux serveurs, qui n'était auparavant utilisable qu'avec le module pour Apache 2, une refonte majeure des bindings Python et l'intégration de bindings Ruby très complets. Et bien entendu, un nombre d'améliorations mineures et de corrections de bugs.

Sortie de la version 1.0 de Git

Posté par  (site web personnel) . Modéré par Florent Zara.
0
22
déc.
2005
Gestion de versions
Git, le système de gestion de versions lancé par Linus Torvalds et utilisé par les développeurs du noyau et d'autres projets vient de sortir en version 1.0.

Pour rappel, le projet Git a été lancé par Linus Torvalds lorsque la société BitMover a décidé d'arrêter de diffuser une version gratuite de son logiciel de gestion de versions BitKeeper, alors utilisé par les développeurs du noyau.

De quelques fichiers de code source C initialement distribués par Linus, Git est devenu un projet à part entière, avec de nombreux contributeurs. La maintenance de Git est d'ailleurs maintenant assurée par un autre développeur, Junio Hamano.

Git fait partie des outils de gestion de version distribués, qui selon leurs amateurs, sont très adaptés au modèle décentralisé de développement du Logiciel Libre. Git joue donc dans la même catégorie que Darcs, Bazaar, Monotone, Mercurial, SVK ou GNU Arch.

Comme l'explique la page officielle de Git, quelques points clés de ce logiciel sont la vitesse d'utilisation, à la fois pour le mainteneur du projet et pour les utilisateurs et le fait que l'historique est stocké sous la forme d'un graphe acyclique dirigé, ce qui facilite les fusions répétées et permet de travailler à long terme sur des branches. Toujours selon cette page, le projet Git doit être considéré comme une infrastructure de base pour d'autres projets, tels que Cogito, StGit, (h)gct, gitk, qgit ou gitweb. L'utilisateur se tournera donc plutôt vers une interface texte évoluée, telle que Cogito.

Linus développe un remplaçant original à BitKeeper

Posté par  (site web personnel) . Modéré par Mouns.
1
12
avr.
2005
Gestion de versions
Moins d'une semaine après l'annonce de l'arrêt de la version gratuite de BitKeeper et de son abandon simultané par de nombreux développeurs du noyau (dont Linus Torvalds bien sûr, mais aussi Greg Kroah-Hartman pour n'en citer qu'un), le développement du noyau reprend progressivement, avec des méthodes de travail légèrement modifiées.

Linus Torvalds a passé ces derniers jours à tester différentes solutions SCM [source code management] et a commencé à écrire un content tracker nommé git pour remplacer BitKeeper. D'autres développeurs ont contribué des idées et du code à ce petit outil, au point qu'au bout de moins d'une semaine, il est prêt pour un test grandeur nature. Andrew Morton vient d'envoyer un email titré "Incoming" sur la linux-kernel mailing-list, suivi de deux centaines de patches, qui vont être intégrés à l'arbre officiel par l'intermédiaire de git.

Espérons que les développeurs du noyau pourront être aussi efficaces avec git qu'ils l'étaient avec BitKeeper. La rapidité de ce changement d'outils laisse à penser que l'on peut être optimiste à ce sujet.

BitKeeper : plus de version gratuite

Posté par  (site web personnel) . Modéré par Fabien Penso.
Étiquettes :
1
6
avr.
2005
Gestion de versions
BitKeeper est un outil de gestion de version décentralisé développé par la société BitMover. En février 2002, Linus a décidé de l'utiliser pour gérer les sources du noyau, puisqu'il s'agissait selon lui du « meilleur outil pour la tâche » (« the best tool for the job »). À l'époque, cette décision avait fait couler beaucoup d'encre, puisque BitKeeper est un logiciel propriétaire. Une version gratuite était disponible, mais sans les sources et avec l'interdiction aux utilisateurs de développer une solution concurrente à BitKeeper.

BitMover a annoncé dans un communiqué de presse, le 5 avril, qu'elle cessait le développement de la version gratuite de BitKeeper. Il semblerait qu'un employé de l'OSDL ait commencé à réaliser de l'ingénierie inverse sur le protocole de BitKeeper et que cela n'ait pas plu à Larry McVoy, le principal interlocuteur de BitMover auprès des développeurs du noyau. Ce dernier a notamment déclaré : « ceci est vraiment un problème de la communauté open source et je dois dire que la communauté open source n'aurait pas pu échouer plus qu'elle ne l'a fait. »

BitMover livrera une dernière version gratuite de son outil qui pourra gérer plus de 64 000 modifications. Linus envisage la migration vers un autre système de gestion de version.

Ce brusque changement dans la politique de BitMover montre un des problèmes que peut poser l'utilisation de logiciels propriétaires dans le développement de Logiciels Libres ou de manière plus générale dans les entreprises.

Sortie de Subversion 1.0.0

Posté par  . Modéré par Nÿco.
Étiquettes :
0
24
fév.
2004
Gestion de versions
Le logiciel de gestion de version, Subversion, vient de sortir en version stable. Il contient de nombreuses améliorations par rapport à CVS. Cette version constitue un aboutissement après 3 ans de travail pour l'équipe de développement, et en particulier pour Karl Fogel, l'auteur principal de Subversion et de CVS. Félicitations aux développeurs et à la société CollabNet, qui a embauché l'équipe de développement pour mener à bien ce projet.